package main

import (
	"fmt"
	"sync"
)


func main() {
	defer func() {
		fmt.Println("try to recover the panic\n")
		if p := recover(); p != nil {
			fmt.Printf("recovered the panic %#v",p)
		}
	}()

	var mutex sync.Mutex
	mutex.Lock()
	mutex.Unlock()
	fmt.Println("unlock1")
	mutex.Unlock()
	fmt.Println("unlock2")
	mutex.Unlock()
}
